In the event of technical difficulties with Szkopuł, please contact us via email at szkopul@fri.edu.pl.
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
Byteman is the person in charge of a team that is looking for crude oil reservoirs.
He has made two boreholes: he found crude oil in point and found out that
there is no crude oil in point
.
It is known that the oil reservoir occupies a connected fragment of segment
with one end at point
.
Now Byteman has to check, how far, along the segment connecting points
and
,
does the oil reservoir reach.
It is not that simple, however, because in some locations one can drill faster than in other
locations.
Moreover, Byteman's team is rather small, so they can drill in at most one location
at a time.
Byteman's boss would like him to predetermine when he will be able to identify the boundary
of the oil reservoir.
Byteman has asked you for help.
He has divided the segment connecting points and
into
segments of equal length.
If we assume that point
has coordinate 0, and point
coordinate
, then
there are
points with coordinates
between them.
It is enough to find the farthest from
of these points in which some crude oil occurs.
Byteman has informed you about the amounts of time necessary for making
boreholes in these points - they are equal to
respectively.
You should create such a plan of drilling, that the time necessary to identify
the oil reservoir's boundary is shortest possible, assuming the worst-case scenario.
The first line of the standard input contains a single positive integer
(
).
The second line contains
positive integers
separated by single spaces
(
).
Your program should write a single integer to the standard output - the smallest amount of time that Byteman has to spend (assuming the worst-case scenario) drilling in search of oil, to be sure that he will identify the reservoir's boundary.
For the input data:
4 8 24 12 6
the correct result is:
42
Explanation of the example.
Assume that Byteman makes the first borehole at point , what takes him
time
.
It can then turn out that he finds crude oil there and he will have to
check, how far to the right does the reservoir reach.
He will need two more boreholes, making which requires
units of time
in the worst case.
Therefore, in this case Byteman will spend in total
units of time
drilling.
It turns out that it is better to start at point .
If there is no crude oil there, it is sufficient to check point
.
However, in the worst case Byteman will have to make two more boreholes
in points
and
and end his work in total time equal to
.
Task author: Marcin Kubica.